import API from '@/services/api'
import {request, METHOD} from '@/utils/request'

/**
 * 查询组织机构树
 * @param params 请求参数
 * @returns {Promise<AxiosResponse<T>>}
 */
export async function queryOrganizationTree(params) {
  return request(API.USER_QUERY_ORGANIZATION_TREE, METHOD.POST, params)
}

/**
 * 查询角色列表
 * @param params 请求参数
 * @returns {Promise<AxiosResponse<T>>}
 */
export async function queryRoleList(params) {
  return request(API.USER_QUERY_ROLE_LIST, METHOD.POST, params)
}

/**
 * 查询用户列表
 * @param params 请求参数
 * @returns {Promise<AxiosResponse<T>>}
 */
export async function queryList(params) {
  return request(API.USER_QUERY_LIST, METHOD.POST, params)
}

/**
 * 查询用户
 * @param params 请求参数
 * @returns {Promise<AxiosResponse<T>>}
 */
export async function query(params) {
  return request(API.USER_QUERY, METHOD.POST, params)
}

/**
 * 新增用户
 * @param params 请求参数
 * @returns {Promise<AxiosResponse<T>>}
 */
export async function add(params) {
  return request(API.USER_ADD, METHOD.POST, params)
}

/**
 * 编辑用户
 * @param params 请求参数
 * @returns {Promise<AxiosResponse<T>>}
 */
export async function edit(params) {
  return request(API.USER_EDIT, METHOD.POST, params)
}

/**
 * 删除用户
 * @param params 请求参数
 * @returns {Promise<AxiosResponse<T>>}
 */
export async function del(params) {
  return request(API.USER_DELETE, METHOD.POST, params)
}

/**
 * 重置用户密码
 * @param params 请求参数
 * @returns {Promise<AxiosResponse<T>>}
 */
export async function resetPassword(params) {
  return request(API.USER_RESET_PASSWORD, METHOD.POST, params)
}

export default {
  queryRoleList,
  queryOrganizationTree,
  queryList,
  query,
  add,
  edit,
  del,
  resetPassword
}
